package com.zzu.model;

import android.content.Context;

import com.zzu.utils.Constants;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

import retrofit2.Retrofit;

/**
 * @ClassName Model
 * @Description 数据模型层全局类，获取全局线程池对象和全局Retrofit对象
 * @Author ZB
 * @Date 2021/5/5 19:09
 * @Version 1.0
 **/
public class Model {
    private Context mContext;
    private ExecutorService executors = Executors.newCachedThreadPool();

    private Retrofit retrofit = new Retrofit.Builder().baseUrl(Constants.BASE_URL).build();

    // 创建对象
    private static Model model = new Model();
//    private UserAccountDao userAccountDao;
//    private DBManager dbManager;

    // 私有化构造
    private Model() {

    }

    // 获取单例对象
    public static Model getInstance(){
        return model;
    }

    // 初始化的方法
    public void init(Context context){
        mContext = context;

//        // 创建用户账号数据库的操作类对象
//        userAccountDao = new UserAccountDao(mContext);
//
//        // 开启全局监听
//        EventListener eventListener = new EventListener(mContext);
    }

    // 获取全局线程池对象
    public ExecutorService getGlobalThreadPool(){
        return executors;
    }
    //获取全局Retrofit对象
    public Retrofit getRetrofit() {
        return retrofit;
    }

//    // 用户登录成功后的处理方法
//    public void loginSuccess(UserInfo account) {
//
//        // 校验
//        if(account == null) {
//            return;
//        }
//
//        if(dbManager != null) {
//            dbManager.close();
//        }
//
//        dbManager = new DBManager(mContext, account.getName());
//    }
//
//    public DBManager getDbManager(){
//        return dbManager;
//    }
//
//    // 获取用户账号数据库的操作类对象
//    public UserAccountDao getUserAccountDao(){
//        return userAccountDao;
//    }
}
